package com.UnionPayCenter.jwt;


import com.UnionPayCenter.enums.ErrorCodeEnum;

import java.util.Map;

/**
 * TOKEN操作接口
 * Created by Administrator on 2017/8/11.
 */
public interface ITokenManager {

    /**
     * 创建TOKEN
     *
     * @param userId
     * @param account
     * @param claims
     * @return
     */
    TokenEntity createToken(Integer userId, String account, Map<String, Object> claims);

    /**
     * 检查token是否有效
     *
     * @param model token
     * @return 是否有效
     */
    ErrorCodeEnum checkToken(TokenEntity model);

    /**
     * 从字符串中解析token
     *
     * @param authentication 加密后的字符串
     * @return
     */
    TokenEntity getToken(String authentication);

    /**
     * 清除token
     *
     * @param userId 登录用户的id
     */
    void deleteToken(Integer userId);
}
